package com.yxj.Test4Case;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Random;

public class MyThread2 extends Thread{
/*    static BigDecimal money = BigDecimal.valueOf(100.0);
    static int count = 3;

    //最小的中将金额
    static final BigDecimal MIN = BigDecimal.valueOf(0.01);

    @Override
    public void run() {
        synchronized(MyThread.class) {
            if(count == 0) {
                System.out.println(getName()+"没有抢到红包");
            }else {
                //判断，共享数据是否到了末尾（没有到末尾）
                //定义一个变量，表示中奖的金额
                BigDecimal price;
                if(count == 1) {
                    //表示此时是最后一个红包，无需随机，剩余所以钱都是第三个人的红包金额
                    price = money;
                }else {
                    //表示第一次，第二次（随机金额）
                    Random r = new Random();
                    //100  3个包
                    //第一个包最多99.98  --> 100-(count-1)*MIN
                    double bounds = money.subtract(BigDecimal.valueOf(count-1).multiply(MIN)).doubleValue();
                    price = BigDecimal.valueOf(r.nextDouble(bounds));

                }
                //设置抽中红包，小数点保留2位，四舍五入
                price = price.setScale(2, RoundingMode.HALF_UP);
                //从money中减去当前中奖金额
                money = money.subtract(price);
                //红包个数-1
                count--;
                //本次红包的信息打印
                System.out.println(getName()+"抢到了"+price+"元");
            }
        }
    }*/
}
